package controller;

import java.util.List;
import java.util.Map;

import model.Aluno;
import model.Matricula;
import model.Nota;
import model.Papel;
import model.Usuario;

public class AlunoBean {
	private Usuario usuario;
	
	public AlunoBean() {
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public Aluno getAluno() {
		if(aluno == null && usuario != null) {
			List<Papel> listaPapeis = usuario.getPapeis();
			for (Papel papel : listaPapeis) {
				if(papel instanceof Aluno)
					aluno = (Aluno)papel;
			}
		}
		return aluno;
	}

	public void setAluno(Aluno aluno) {
		this.aluno = aluno;
	}

    public CalculaMedia getMedia() {
            return media;
    }
    
    public String verGrupo() {
    	return "grupo";
    }
}

class CalculaMedia extends DummyMap implements Map {
    public String media(Matricula matricula) {
		List<Nota> notas = matricula.getNotas();

		float media = 0;
		
		for (Nota nota : notas)
			media += nota.getValor();
		
		media /= notas.size();
		
		return String.valueOf(media);
    }

    public Object get(Object obj) {
            return media((Matricula)obj);
    }
}